// 验证邮箱的正则表达式
const emailRoutes = /(default|\d{4}(,\d{4})*)@mail.com$/
// 用于测试登录的默认数据
const userList = [
  {
    // 默认数据
    uname: 'zs',
    email: '1234@mail.com',
    // 密码为123456转换为md5值
    password: 'e10adc3949ba59abbe56e057f20f883e'
  }
]

export default {
  // 登录接口
  postUser: (options) => {
    // 转换成json格式的数据
    const { email, password } = JSON.parse(options.body)
    const index = userList.findIndex(item => item.email === email)
    // console.log(index);
    if (index === -1) {
      return {
        code: 300,
        msg: '邮箱不存在',
        result: null
      }
    }
    if (index !== -1 && password !== userList[index].password) {
      return {
        code: 301,
        msg: '密码错误',
        result: null
      }
    }
    return {
      code: 200,
      msg: '登录成功',
      result: null
    }
  },
  // 注册用户
  postRegister: (options) => {
    // 结构转换成json格式的数据
    const { uname, email, password } = JSON.parse(options.body)
    const emailFlag = emailRoutes.test(email)
    if (uname && emailFlag && password) {
      userList.unshift({
        uname: uname,
        email: email,
        password: password
      })
      return {
        code: 200,
        msg: '注册成功',
        result: null
      }
    } else if (!emailFlag && uname && password) {
      return {
        code: 301,
        msg: '邮箱格式错误，先填写xxxx@mail.com格式的邮箱',
        result: null
      }
    } else {
      return {
        code: 300,
        msg: '参数错误',
        result: null
      }
    }
  },
  // 完善用户资料
  postAllData: (options) => {
    // 转换成json格式的数据
    const allDataList = JSON.parse(options.body)
    // console.log(allDataList);
    if (allDataList.uname && allDataList.email && allDataList.birthday && allDataList.phone && allDataList.region) {
      return {
        code: 200,
        msg: '完善用户资料成功',
        result: null
      }
    } else {
      return {
        code: 300,
        msg: '参数错误',
        result: null
      }
    }
  },
  // 重置密码第一页
  postResetOne: (options) => {
    // 转换成json格式的数据
    const { email } = JSON.parse(options.body)
    // console.log(email);
    const index = userList.findIndex(item => item.email === email)
    if (index === -1) {
      return {
        code: 300,
        msg: '邮箱不存在',
        result: null
      }
    }
    return {
      code: 200,
      msg: '请求成功',
      result: null
    }
  },
  // 重置密码第二页
  putPwd: (options) => {
    // 转换成json格式的数据
    const { email, password } = JSON.parse(options.body)
    // console.log(email, password);
    userList.some(item => {
      if (item.email === email) {
        item.password = password
        return true
      }
    })
    return {
      code: 200,
      msg: '修改成功',
      result: null
    }
  }
}